-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
jobs: use low-priority transactions for claim, adopt, cancel/pause #65643
Conversation
These transactions can be slow and long-running and they hold locks. This is unfortunate for UX reasons. Release note: (bug fix): Improved availability of jobs table for reads in large, global clusters by running background tasks at low priority.
I'm not quite sure who to get to review this. While it is in the jobs ecosystem, it's more about knowing the semantics of priority. @andreimatei you looked at these job loops at some point not too long ago, any interest in stamping? My plan is to let this bake on master for a couple of weeks and then to backport. |
@miretskiy maybe I can alternatively interest you in giving this a review (even though I owe you several). |
I suppose a test could be written to show that the client can read while one of these loops holds a lock and then gets blocked. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 2 of 2 files at r1.
Reviewable status: complete! 0 of 0 LGTMs obtained (waiting on @miretskiy)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 1 of 2 files at r1.
Reviewable status: complete! 0 of 0 LGTMs obtained (waiting on @ajwerner)
TFTR! bors r+ |
Build succeeded: |
These transactions can be slow and long-running and they hold locks. This is
unfortunate for UX reasons.
Fixes #65077.
Release note: (bug fix): Improved availability of jobs table for reads in large,
global clusters by running background tasks at low priority.